repeatForever
官方文件Animation.linear(duration: 1)
.repeatForever(autoreverses: false)
由於 autoreverses
預設是 true
,而我們通常希望動畫能夠持續「正向」持續地播放而不是反向播放,因此這邊要傳入 false
。
struct ContentView: View {
@State private var isRotating: Bool = false
var body: some View {
Button {
isRotating.toggle()
} label: {
Image(systemName: "arrow.triangle.2.circlepath")
.rotationEffect(isRotating ? .degrees(180) : .zero)
.animation(isRotating ? animation : .linear(duration: 0), value: isRotating)
}
}
private var animation: Animation {
Animation.linear(duration: 1)
.repeatForever(autoreverses: false)
}
}
以上,
那今天的 SwiftUI 的大大小小就到這邊,明天見!
本篇使用到的 UI 元件和 modifiers 基本上沒有受到版本更新影響
因此 Xcode 14 等環境下使用也是沒問題的。